package com.haolp.sys.service;

import com.haolp.sys.common.vo.PageObjectVO;
import com.haolp.sys.common.vo.RoleCheckBoxVo;
import com.haolp.sys.common.vo.SysRoleMenuVO;
import com.haolp.sys.pojo.SysMenu;
import com.haolp.sys.pojo.SysRole;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author 小李
 * @version 1.0
 * @date 2021/10/11 10:17
 */
public interface SysRoleService extends PageService<SysRole>{
    /**
     * 获取所有角色的id和name
     * @return
     */
    List<RoleCheckBoxVo> findObjects();
    /**
     * 基于角色Id获取角色以及对应的菜单信息
     * @param id
     * @return
     */
    SysRoleMenuVO findObjectById(Integer id);
    /**
     * 将角色自身信息以及与菜单对应的关系数据更新到数据库
     * @param entity
     * @param menuIds
     * @return
     */
    int updateObject(SysRole entity,Integer[] menuIds);
    /**
     * 基于id删除角色以及角色对应的关系数据
     * @param id
     * @return
     */
   int deleteObject(Integer id);
    /**
     * 将对象自身信息以及对应的菜单关系数据写入到数据库
     * @param entity
     * @param menuIds
     * @return
     */
    int saveObject(SysRole entity,Integer[] menuIds);

}
